package com.zz.Map;

import java.util.*;

public class Test {
    public static void main(String args[]){
        Map<String, Integer> map = new HashMap <>();//经典代码，按照键 无序 不重复 无索引
        map.put("手表", 100);
        map.put("手表", 134);//后面重复的数据会覆盖前面的数据（键）
        map.put("手机", 243);
        System.out.println(map);
        System.out.println("=====");

        Map<Integer, String> map1 = new TreeMap <>();//可排序，不重复，无索引
        map1.put(23, "java");
        map1.put(400, "cat");
        map1.put(35, "dog");
        System.out.println(map1);

        //2.public int size()获取集合的大小
        System.out.println(map.size());

        //3.public void clear()清空集合
        //map.clear();
        System.out.println(map);

        //4.public boolean isEmpty():判断集合是否为空，为空则返回true，反之
        System.out.println(map.isEmpty());

        //5.public V get(Object key)根据键获取对应值，不存在该键，则返回null
        int v1 = map.get("手表");
        System.out.println(v1);

        //6.public V remove(Object key)根据键删除整个元素（删除键会返回键的值）
        System.out.println(map.remove("手表"));
        System.out.println(map);

        //7.public boolean containsKey(Object key)判断是否包含某个键，为真返回true,否则返回false
        System.out.println(map.containsKey("手机"));//true
        System.out.println(map.containsKey("手表"));//false

        //8.public boolean containsValue(Object value):判断是否包含某个值
        System.out.println(map.containsValue(2));//false
        System.out.println(map.containsValue(243));//true

        //9.public Set<K> keySet():获取Map集合的全部键
       Set<String> keys = map.keySet();
       System.out.println(keys);

       //10.public Collection<V> values():获取Map集合的全部值
        Collection<Integer> values = map.values();
        System.out.println(values);

        //11.把其他Map集合的数据全部导入到自己的集合中来（扩展）
        Map<String, Integer> map2 = new HashMap <>();
        map2.put("java", 10);
        map2.put("操作系统", 20);
        Map<String, Integer> map3 = new HashMap <>();
        map3.put("数据库", 12);
        map3.put("计算机组成原理", 89);
        map2.putAll(map3);//putAll 把map3中的元素全部导入一份到map2集合中
        System.out.println(map2);
        System.out.println(map3);
    }
}
